Integration testing:
-test that neighbour ports are outputting correcting information, from state variables, on first pass of rules
-test the input queue works (3 digit value is broken down into 'exitNumberPort', 'numHopsLeftPort' and 'speedPort') and that car is inserted into cell-DEVs model.
-test that multiple cars are inserted from the queue.
-testing if a car leaving the mini roundabout correctly composes it's information (into a 3 digit value) and sends out the data to the port.


Execute simulatemodel.bat to simulate the model.


%NOTE: DrawLog fails to draw the output due to the cell DEV output ports (out_west & out_east).
I believe it has something to do with the ports since the error only appeared when trying to output data to out_west or out_east ports...
Error: 
Exception AssertException thrown!
Description: Invalid assertion
Thrown in: 
	File: drawlog.cpp - Method: main - Line: 318
Description: 
	rowVal.size() == cols
	The size of the rows for the initial values of the CoupledCell must be equal to the width value !
terminate called after throwing an instance of 'AssertException'


Test results:
we can see in the log that starting at 100 ms, the neighbour ports are set to the data that is in the state variables:
...
0 / L / Y / 00:00:00:100:0 / roundabout(1,1)(12) / out_directionport /      4.00000 / roundabout(02)
0 / L / Y / 00:00:00:100:0 / roundabout(1,1)(12) / out_isexitport /      7.00000 / roundabout(02)
0 / L / Y / 00:00:00:100:0 / roundabout(1,1)(12) / out_numhopsleftport /      0.00000 / roundabout(02)
...


log file shows the car entering the roundabout from the queue and decomposed the 3 digit value:
...
0 / L / Y / 00:00:00:100:0 / roundabout(4,4)(39) / out_exitnumberport /      7.00000 / roundabout(02)
0 / L / Y / 00:00:00:100:0 / roundabout(4,4)(39) / out_numhopsleftport /      5.00000 / roundabout(02)
0 / L / Y / 00:00:00:100:0 / roundabout(4,4)(39) / out_speedport /      2.00000 / roundabout(02)
...


car moves around roundabout to exit # 7 (see roundabout.log2)

at 500ms we can see that another car entered the roundabout from the queue DEV model:
...
0 / L / Y / 00:00:00:500:0 / roundabout(4,4)(39) / out_exitnumberport /      8.00000 / roundabout(02)
0 / L / Y / 00:00:00:500:0 / roundabout(4,4)(39) / out_numhopsleftport /      4.00000 / roundabout(02)
0 / L / Y / 00:00:00:500:0 / roundabout(4,4)(39) / out_speedport /      2.00000 / roundabout(02)
...

When car with exitNumberPort = 7 is at the west exit cell to go to the next roundabout,
the car's data is composed and outputted with numhopsleftport decremented by 1 (previoulsy it was '5'):
...
0 / L / Y / 00:00:00:900:0 / roundabout(1,1)(12) / out_west /    742.00000 / roundabout(02)
...